package com.xhh.learning.record.algorithm.sort;

/**
 * 类名： SquareRoot
 * 描述：
 * 公司： 北京海鑫科金高科技股份有限公司
 * 作者： Administrator
 * 版本： V1.0
 * 创建时间:  2019/4/15 9:59
 * 最后修改时间:  2019/4/15 9:59
 */
public class SquareRoot {

    public static void main(String[] args) {
        double num = 2147395598;

        double result = sqrt(num, num, 0, 7);

        System.out.println(result);
    }

    static double sqrt(double num, double top, double button, int precision) {
        if (top <= button + (Math.pow(10, -precision))) {
            return button;
        }

        double n = button + (top - button) / 2;
        if (n > num / n) {
            return sqrt(num, n, button, precision);
        } else {
            return sqrt(num, top, n, precision);
        }

    }
}
